Skip to content

fix(evolution-curve): settle the capability axis as human-assessed - #6

Merged
cursor[bot] merged 1 commit into
mainfrom
claude/evolution-curve-option-b
Sep 3, 2026
Merged

fix(evolution-curve): settle the capability axis as human-assessed#6
cursor[bot] merged 1 commit into
mainfrom
claude/evolution-curve-option-b

Conversation

@RevenuePuzzles

Copy link
Copy Markdown
Contributor

What this PR does

Settles the Evolution Curve with option B from #5: capability is not inferable from an agent spec, so the axis belongs to agent-ux-teardowns where a human assesses it, and is out of scope for aux-audit permanently rather than pending. The reason the two axes kept collapsing is that a spec describes what a product declares about itself, while capability is a claim about what it does — and every field a capability score would naturally read (autonomy, memory.persistent, memory.scopes, tools) is already read by a trust heuristic. No schema turns a declaration into an observation. Alongside that, this fixes four references to the axis that were inconsistent regardless of which option won.

Linked Issue

Closes the aux-audit half of #5. #5 stays open for the stage vocabulary itself — see Out of scope.

Type

  • New pattern (must include diagram, runnable example, and anti-pattern)
  • New gap (must include reproducible scenario and heuristic / trust-stage ref)
  • Teardown (must use agent-ux-teardowns/_template/ and pass schema validation)
  • Framework edit (must include rationale, ID migration note if renamed, updated examples)
  • Schema fix
  • Doc fix / typo / link
  • Other (explain)

Framework edit rather than schema fix: no schema is added or changed. What changes is where the capability axis lives and who assesses it. No IDs are introduced or renamed — the aux.E* straw man in #5 is deliberately not implemented here.

The one place B touches the CLI

B was originally described as closing this "without touching the CLI". That was wrong in one respect, and the correction is the substance of the code change:

- evolution_stage_status: "schema-undefined"
+ evolution_stage_status: "human-assessed"

schema-undefined means pending a schema. Under B nothing is pending, so leaving that string would keep the tool advertising work that will never arrive — the same class of defect #5 exists to remove. The computation stays absent, which was the substance of the original claim.

Inconsistencies fixed, independent of A/B/C

File Was
repos/aux-frameworks/README.md listed /aux-evolution-curve containing schema.yaml and stages.yaml — neither has ever existed
repos/agent-ux-teardowns/README.md printed "personally-intelligent" as example output, presenting undefined vocabulary as canon
onboarding/appendix-a-vocabulary.md sourced the axis to trust-architecture.yaml, which defines no capability stages, and cited a tracking Issue that did not exist
ARCHITECTURE.md showed aux-audit placing products on "trust + evolution axes"; it places them on one

agent-ux-teardowns now carries the axis explicitly as step 6 of a teardown, since under B that is its home.

Contribution bar — checklist

  • I've read CONTRIBUTING.md.
  • If this introduces or renames an ID, I opened a debate Issue first. — no IDs introduced or renamed; the aux.E* proposal stays in [schema] aux-evolution-curve: define the capability axis, or retire it #5, unimplemented.
  • If this adds a pattern, it has a diagram, a runnable example, and an anti-pattern. — n/a, no patterns added.
  • If this adds a gap, it has a reproducible scenario and references a heuristic or trust stage. — n/a, no gaps added.
  • CI passes (schema validation, link check). — verified locally: 34/34 aux-audit tests, check-coverage.py 12/12, yamllint clean on schemas/ and .github/, all relative links resolve, and the teardown example still parses as strict JSON. This branch has had no CI run yet, since validate.yml fires on pull_request and on push to main — opening this PR is the first run.
  • No emoji in code or schemas.
  • Short sentences. Named things over adjectives.

Out of scope

  • The stage names. task-aware and personally-intelligent remain undefined. B settles where the axis lives and who assesses it, not what the stages are called.
  • Whether the curve is a ladder at all. The trust ladder is sequential by design because its failure modes cascade; there is no equivalent argument for capability, so the curve may be a per-surface profile rather than an ordinal stage. Undecided, tracked in [schema] aux-evolution-curve: define the capability axis, or retire it #5.
  • No schema file is added. Writing schemas/aux-evolution-curve.yaml would mint new vocabulary in the aux. namespace, which CONTRIBUTING requires an Issue to settle first. That is exactly what [schema] aux-evolution-curve: define the capability axis, or retire it #5 is now for.

🤖 Generated with Claude Code

https://claude.ai/code/session_01MhpqWEvwKp7NrmJfdXYq4M


Generated by Claude Code

Closes the aux-audit half of #5 with option B: capability is not
inferable from an agent spec, so the Evolution Curve belongs to
agent-ux-teardowns, assessed by a human, and is out of scope for the CLI
permanently.

The reason the two axes kept collapsing into one: a spec describes what a
product *declares about itself*, and capability is a claim about what it
*does*. Every field a capability score would naturally read — autonomy,
memory.persistent, memory.scopes, tools — is already read by a trust
heuristic. No schema turns a declaration into an observation.

B was described as closing this "without touching the CLI". That was
wrong in one place. `evolution_stage_status: "schema-undefined"` means
*pending a schema*; under B nothing is pending, so leaving the string
would keep the tool advertising work that will never arrive. It now
reports `human-assessed`. The computation stays absent, which was the
substance of the claim.

Also fixes four references that were inconsistent regardless of the
decision:

- repos/aux-frameworks listed /aux-evolution-curve containing schema.yaml
  and stages.yaml; neither has ever existed
- repos/agent-ux-teardowns printed "personally-intelligent" as example
  output, presenting undefined vocabulary as canon
- onboarding/appendix-a-vocabulary sourced the axis to
  trust-architecture.yaml, which defines no capability stages, and cited
  a tracking Issue that did not exist
- ARCHITECTURE showed aux-audit placing products on "trust + evolution
  axes"; it places them on one

Teardowns now carries the axis explicitly as step 6 of a teardown, with
evolution_stage null until the stage names land.

Still open in #5: the stage vocabulary itself. task-aware and
personally-intelligent remain undefined, and whether the curve is ordinal
or a per-surface profile is undecided. B settles where the axis lives and
who assesses it, not what the stages are called.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MhpqWEvwKp7NrmJfdXYq4M
@cursor
cursor Bot merged commit 1bc50cf into main Sep 3, 2026
4 checks passed
@cursor
cursor Bot deleted the claude/evolution-curve-option-b branch September 3, 2026 19:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants